#include<bits/stdc++.h>
using namespace std;
const int N=8e3+3;
int n,q,op,x,y,t[N],t1[N],a[N],a1[N];
int main()
{
	freopen("sort.in","r",stdin);
	freopen("sort.out","w",stdout);
	scanf("%d%d",&n,&q);
	for(int i=1;i<=n;i++)
	{
		scanf("%d",&a[i]);
		t[i]=i;t1[i]=i;a1[i]=a[i];
		for(int j=i;j>1;j--)
		{
			if(a1[j]<a1[j-1])
			{
				swap(t[t1[j]],t[t1[j-1]]);
				swap(t1[j],t1[j-1]);
				swap(a1[j],a1[j-1]);
			}
		}
	}
	for(int i=1;i<=q;i++)
	{
		scanf("%d",&op);
		if(op==1)
		{
			scanf("%d%d",&x,&y);
			int pos=t[x];a[x]=y;
			if(y<a1[pos])
			{
				a1[pos]=y;
				for(int j=pos;j>1;j--)
				{
					if(a1[j]<a1[j-1]||a1[j]==a1[j-1]&&t1[j]<t1[j-1])
					{
						swap(t[t1[j]],t[t1[j-1]]);
						swap(t1[j],t1[j-1]);
						swap(a1[j],a1[j-1]);
					}
				}
			}
			if(y>a1[pos])
			{
				a1[pos]=y;
				for(int j=pos;j<n;j++)
				{
					if(a1[j]>a1[j+1]||a1[j]==a1[j+1]&&t1[j]>t1[j+1])
					{
						swap(t[t1[j]],t[t1[j+1]]);
						swap(t1[j],t1[j+1]);
						swap(a1[j],a1[j+1]);
					}
				}
			}
		}
		if(op==2)
		{
			scanf("%d",&x);
			printf("%d\n",t[x]);
		}
	}return 0;
}
